Transmission Control Protocol/Internet Protocol


   

   传输控制协议/Internet协议 Transmission Control Protocol/Internet Protocol
  传输控制协议/Internet协议(TCP/IP) TCP/IP协议组的发展目标是,允许在许多独立的多厂商系统间进行通信。在1983年,TCP/IP成为国防部Internet的官方运输机制,它融进了一个跨越全球的互联网络的系统。它具有很强的网络互联能力,并且正在不断地变得更加流行,这是因为它的开发是开放的,并且受到美国政府的支持。这种协议经过很好的测试,并具有很好的文档。
  注意:这里引用的历史信息来源于Vinton Cerf(他是TCP/IP协议组的顾问)和DanielC.Lynch(Interop公司的总裁和创始人)的报告。这些报告出现在Internet System Handbook(Greenwich,connecticut:AddisonWesley,1993)。
  在六十年代末和七十年代初,因特网开始以称为ARPANET的广域网形式渐现雏形。ARPANET是由美国国防部高级研究规划局(DARPA)出资建设的。从1969年开始,它包括用实验性的分组交换系统建立和连接的计算机。开始,这个系统采用了一种客户机/服务器关系,但后来决定采用主机对主机协议会好一些。这种协议称为网络控制协议(NCP)。
  到1972年,进行了一些验试,其中,许多终端在不同的远程链路上被连接到不同的主机上。随着这种实验的继续,有一种不断增加的需求,就是必须对许多不同类型计算机进行互联的过程进行简化。那时每个计算机厂商都使用不同的硬件和软件来互联它们的系统。它的目标就是开发一种互联方式,使得能够在不同类型的传输方式上(包括低速、高速和无线连接)支持不同类型的计算机。
  传输控制协议(TCP)的开发始于1973年,由DARPA和Vinton Cerf进行,然后在斯坦福大学进行。到1978年,它已经基本完成了,并在此之后被称为传输控制协议/Internet协议(TCP/IP),这时因为需要将TCP协议分解成顺序的、面向连接的协议(TCP)和一种高效的、端点对端点无连接协议(IP)。
  在七十年代末的某个时候,有一种将TCP/IP协议组集成到开放式系统互联(OSI)协议的努力,但是这个努力失败了。DARPA已经资助UC Berkeley将TCP/IP集成到它的UNIX版本中。这个集成后的产品取得了巨大的商业成功,并推助TCP/IP成为在美国选择的网络互联标准。
  在1975年,ARPANET成为了一个运营实体,而不仅仅是一个实验,于是用了6个月时间将它转交给国防部(DOD)防御通信局(DCA)。DCA然后就开始管理这个网络。在1985年,国家科学基金会(NSF)开始资助一些将许多大学和协会连接起来的主干线缆的研究工作。这个主干已经创立,并称为NSFnet,它替代ARPANET,而成为了因特网的支柱。
  同时,TCP/IP协议组也在继续改进。TCP/IP开发的一个最重要的方面是,经过测试的程序和政府的认可,它们保证了开发人员可以得到出版的TCP/IP标准。这保证了开发人员不必为适合他们的需要而改变协议标准,以及可能在TCP/IP的其它部分出现混淆。今天,TCP/IP协议的使用基本保证了使用它进行通信的系统之间的互联性,并且在一些情况的具有一定互操作性。
  The TCP Protocol TCP协议,传输控制协议
  最初,TCP协议是为互联使用多种不同类型的传输方式的网络而开发的。为了适应这些介质的差异,创建了网关(有时称为路由器)的概念,它是指对来自一个网络的分组进行封装,变成一个包括另一个网关的地址的分组。在这个分组抵达它的最终目的地之前,它可能还会被再次打包和编址到一些网关。如图T-13所示。采用这种封装方式是有一些原因的,但其中最重要的原因是:设计人员不希望这些不同网络的主人通过改变自己以适应网络互联的网内策略。它假设每个网络都要实现它自己的通信技术。
  TCP协议采用sockets接口在两个系统间建立双向(双工)连接。sockets是描述计算机通信地址的端点和正在运行通信应用的计算机内的一个“端口”。你可以将这种安排想象为你想打通建筑物中的电话,这个建筑物有一个地址,并且这个电话就象一个将你与一个特定的人连接在一起的位于这个建筑物的一个端口。同样,一个sockets就是到一个计算机内的应用程序或进程的连接。
  TCP通信会话是面向连接的并且具有如下特征:
  流控为两个系统提供了在分组通信中的实际协调,以防止溢出和丢失分组。
  分组接收的应答使得发送方知道接收方已经接收到分组。
  端点对端点的序列化可以保证分组按顺序到达,所以目的地不再需要对它们重新进行组织。
  口检验和特征,用于保证分组的完整性。
  分组损坏或丢失,导致分组重发,以按时并有效的方式来处理。
  面向连接的会话需要一个建立阶段、一个切断阶段和一些监督功能,以及一些不是数据运输所必须的额外通信开销。在开发TCP的过程中,USC的Denny Cohen为适应“追求及时而不是精确”的目标,建议分解TCP协议。他说,所有的流控和错误检查,以及建议面向连接的会话的开销,并不总是必须的。所需的途径是,尽快地将数据发送到另外一个系统,然后由这个系统自己进行错误检查和数据排列工作。这样,TCP就变成了TCP和因特网协议(IP)。用户数据报协议(UDP)的创立,也为应用访问IP的无连接特征提供了一条途径。TCP和UDP都使用IP。下面先进行简单的介绍,然后再进行细节性的介绍。
  TCP通过使用面向连接的技术,提供了从一个结点到另外一个结点的可靠数据传输。
  UDP为应用提供了数据报服务。UDP的基本作用是,将一个应用程序进程的端口地址加到一个IP分组上。
  IP是一种提供基本数据报传递服务的无连接服务。
  下面将详细讨论IP和TCP协议。IP将首先讨论,这是因为TCP使用IP在网络上传输信息。下面不讨论另外两种在TCP/IP网络中使用的协议:
  网间控制消息协议(ICMP)提供一条报告网络中错误的途径。ICMP分组使用IP协议传送,并且提供数据报产生错误的信息,或提供查询远程地点情况的途径。
  网间组消息协议(IGMP)提供使用IP协议将消息发送给一组用户的途径。这种功能称为多址(multicasting)发送。
  Internet Protocol(IP) Internet协议(IP) ,因特网协议(IP)
  IP是提供数据报服务的一种无连接通信协议。数据报是分组交换中的一种完整分组。它独立于其它分组,并且携带足够的信息,用于选择从源DTE数据终端设备到目的数据终端设备的路由,这种选择不依赖于原来在各个数据设备和网络之间的交换。它是根据它们的地址、以及在这个路由器中的路由选择信息表、被路由器进行转发的。数据报可以被编址到一个单一结点或多个结点。其中没有流控、接收应答、错误检查和序列化。数据报可能通过不同的路径到达目的地,于是可能是乱序抵达的。接收站点负责进行顺序排列并检查是否有分组丢失了。IP通过简单地抛弃一些分组来处理通信拥挤。重新排序和错误处理有更高层协议负责处理,而不是由IP进行处理的。因而,IP是快速有效的,并且非常适合已经提供了相对可靠服务的现代网络和远程通信系统。
  IP在一些局域网和广域网上工作。例如,当IP运行在以太网上的局域网环境时,在以太网帧中的数据域存放IP分组,并且在这个帧中有一个特定的域说明包含了IP信息。IP使用一个独立于网络编址策略之外的编址策略。例如,每个以太网适配器都有一个生产厂商赋予的硬件地址。IP不使用这个地址,如下所述,它实际上对每个结点使用一个授予的地址。
  IP编址
  TCP/IP网络中的每个结点都需要一个4字节(32位)数字地址,它用于辨别是一个网络、一个局部主机、还是这个网络中的结点。这个地址被写成由小点隔开的四个数字,例如,191.31.140.115。在大多数情况下,网络管理人员安装一个新的工作站时,建立这些地址;然而,在另一些情况下,也可能是工作站在自举时向工作站查询以被动地授予地址。
  这些地址的授予是由一个公司或机构专断的,但是如果这个公司计划在最近的什么时候要与Internet相连,就必须从防御数据网络(DDN)的网络信息中心(NIC)获得一个注册地址,防御数据网络的网络信息中心是由在Vairginia的Chantilly的网络裁决局(Network Solution)管理的。随着因特网越来越流行,建议所有的机构都获得一个注册地址,以避免将来出现地址冲突。
  存在三种Internet地址:A类、B类和C类:
  A类 支持16,000,000个主机(连接的计算机),但只有127个可赋的网络号。
  B类 支持65,000台主机和16,000个网络号。
  C类 支持254台主机和2,000,000个网络号。
  由于Internet地址是主机和网络号的结合,所以多个主机可以共享这个网络号的主机部分,但是每个主机必须具有它自己独特的号码。例如,在C类号码中,第一组数字是主机号,最后三组数字是网络号。
  IP编址支持上百万个地址,但最近,也出现了潜在的短缺危机。伴随着Internet的不断流行,短缺可赋予的地址是不可避免的。
  预计在1995年,Internet将用完它的地址。一种称为简单Internet协议(SIP)将改善这种局面。SIP将使用64位地址而不是IP的32位地址,从而加倍了可能的地址数目。SIP将对IP向后兼容。
  IP数据报结构
  IP数据报包含地址、路由选择信息和其它为将数据的分组从源地发送到目的地的分组头信息。下面将介绍IP数据报域的情况。注意:鉴别、标志和段偏址域,是为在不能处理大的数据报的子网络上传输,而将分组的片段分解为两个或多个数据报时所需的。
  版本(version)说明IP协议的版本,允许从一个协议版本变为另一个版本。
  长度(length) 描述分组头的长度。
  服务类型(Type of service:TOS)用于指示数据报所需的服务类型或“质量”。处理数据报的路由器阅读这个域,如果需要,将提供优先服务。以前,这个域指示军事急件或关键事件所要的优先处理。根据在Internet Engineering Task Force(IETF)最近的讨论看出,现在,TOS的定义已经改变为减少延迟、减少金钱开销、增大吞吐率,或增加可靠性的需要。
  总长度(Total length) 说明数据报的总长度,最大长度为65,536个字节。
  鉴别(Identification)提供连接独立分段数据报的信息,于是目的站点就可以将它们组装成一个完整的分组。
  标志(flags) 有两个标志位。第一个标志位指定一个分组不允许被分段,所以必须在能将处理分组当前长度的子网络上传输。第二个标志位指定一个数据报是一个分段分组的最后。
  段偏址(Fragment offset) 对于分段数据报,这个域指出这个数据在分组中的原来位置,在重新组装的过程中将用到这个信息。
  存活时间(Time-to-live)这个时间以秒为单位,它是数据报可以生存的时间。在传输中,如果超过了这个时间,这个数据报就被认为丢失了,或在一个循环内并且被废弃。
  协议(protocol)标识数据报的协议类型,这样就可以允许非TCP/IP协议工作。
  分组头检验和(header checksum)提供一个错误检查数值,以保证一个被分发分组的完整性。
  源/目地址 这是数据报源地和这个数据报目的地的地址。
  选择(option)这个域是可选的,它提供了记录通过网络的一条路径或指定一条路径(源地路由选择)。
  Transmission Control Protocol(TCP)传输控制协议(TCP)
  TCP提供了一条为可靠地传送消息和数据,而在端系统间建立一条连接的途径。TCP连接具有前面介绍的所有面向连接的特征,例如流控、应答、序列化、进行校验和检测和重发等。当一个应用使用TCP时,就需要一个连接建立阶段,但是一旦这个连接建立好了,它就可以在端系统间提供可靠有效的数据传递。对于长期的数据交换,或当需要一种相对永久的连接时,面向连接的会话是有用的。
  为建立TCP连接,活动站点向另一个站点发送一个消息。这个站点回告这个活动站点,它已经准备好建立一个通信会话了。然后,第一个站点也回告确认这个连接,并且进行一次起始数据传送,以建立数据传输控制。下面介绍TCP分组中域的情况:
  源/目端口(source/destination port) 使用TCP服务的应用进程的端口号。
  序列号(sequence number) 提供接收方对分组进行排序和确认是否有分组丢失的信息。
  应答号(acknowledgement number) 提供接收到字节的指示,返回给发送方,于是如果需要就可重发丢失的分组。
  长度或偏址(offset or length) 说明分组头的长度。
  代码(codes)这个域包括:指示紧急需要的分组或这个分组是数据尾的代码。
  滑动窗口(sliding window)提供一种增加分组体积的途径,从而改进数据传输的有效性。
  分组头检验和(header checksum)提供一种错误检查的数值,以确保被发送分组的完整性。
  紧急指针(urgent pointer)指示放置紧急数据的位置。
  选择(option)一个为将来或特殊选择准备的可变域。
  注意,为了提供可靠的功能,TCP层在端系统上运行时,可以使用IP在网络结点间传输数据。IP分组包含端点结点的地址,而TCP分组包含源地和目的地端口号。比如,你与一个朋友进行了一次会谈,却通过另外一条电话线路向这个朋友传送信息,你使用“语音会话”为“数据通信会话”建立参数,然后,讨论交换的过程,最后应答,完成了全部数据的接收。
  Application Protocols 应用程序协议
  已经在TCP/IP协议组的上面建造了下面的应用程序,并且在许多TCP/IP安装中都可以获得这些应用程序,其中包括Internet。这些应用在本书的其它地方也有讨论。
  网络文件系统(NFS) 针对UNIX主机的一种文件系统,它是可共享的并且是分布的。它最早是由Sun Microsystems公司开发的。
  简单网络管理协议(SNMP)一种网络管理协议,它采集网络的信息,并且将它报告给管理人员。
  文件传送协议(FTP)使得可以在工作站与UNIX主机或Novell NetWareNFS之间传输文件的协议。
  简单邮件运输协议(SMTP) 一种能够进行电子消息传递的协议。
  Telnet DEC VT100和VT 330终端仿真。

   

自定义分类:
电脑
 
参考资料:
 1.电脑宝典
 
贡献者:
风元素
Copyright © 1999-2024 C114 All Rights Reserved | 联系我们 | 沪ICP备12002291号-4